package main

import "math/big"

/*
hash函数的特性：易出难题，出一个数学难题，只能通过大量的计算得到结果，没有取巧的办法
要求：计算过程很复杂，验证过程很简单
要求：hash小于某个数（hash值前n位都为0）
*/


const diffcult =16 //挖矿难度
type ProofOfWork struct {
	b Block
	target *big.Int //构造的目标值，计算的hash要小于target
}

//NewProofWork 构造函数
func NewProofWork(b *Block) *ProofOfWork{
	target :=big.NewInt(1)
	//位移
	target =target.Lsh(target,256-diffcult) //位移

}
